package com.moyun.common.utils;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * @return
 * @Author yangboxuan
 * @Description Quartz的cron表达式与Date之间的转换
 * @Date 2021/5/27 12:28
 * @Param 
 **/
public class CronDateUtils {
    private static final String CRON_DATE_FORMAT = "ss mm HH dd MM ? yyyy";
 
    /**
     * @return java.lang.String
     * @Author yangboxuan
     * @Description 将Date类型日期转换为corn类型字符串(获取corn类型的日期)
     * @Date 2021/5/27 12:29
     * @Param [date]
     **/
    public static String getCron(final Date  date){
        SimpleDateFormat sdf = new SimpleDateFormat(CRON_DATE_FORMAT);
        String formatTimeStr = "";
        if (date != null) {
            formatTimeStr = sdf.format(date);
        }
        return formatTimeStr;
    }
 

    /**
     * @return java.util.Date
     * @Author yangboxuan
     * @Description 将corn类型字符串转换为Date类型日期(获取Date类型的日期)
     * @Date 2021/5/27 12:30
     * @Param [cron]
     **/
    public static Date getDate(final String cron) {
        if(cron == null) {
            return null;
        }
 
        SimpleDateFormat sdf = new SimpleDateFormat(CRON_DATE_FORMAT);
        Date date = null;
        try {
            date = sdf.parse(cron);
        } catch (ParseException e) {
            return null;// 此处缺少异常处理,自己根据需要添加
        }
        return date;
    }

    @Test
    public void testxxx() {
        Date date = new Date();
        String cron = getCron(date);
        System.out.println(cron);
    }
}
